<!DOCTYPE html>
<html lang="ja">

<head>
  <meta charset="utf-8">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <meta http-equiv="Content-Style-Type" content="text/css">
  <script src='../bbs.js'></script>

  <!-- Global site tag (gtag.js) - Google Analytics -->
  <script async src="https://www.googletagmanager.com/gtag/js?id=UA-120820034-1"></script>

  <link href="../bbs.css" type="text/css" rel="stylesheet">
  <link rel="shortcut icon" href="/favicon.ico">
  <title>正規表現で否定の書き方を教えて下さい。 | サクラエディタ過去ログ</title>
</head>
<body>
<ul class="side">
        <a href="./" class="toindex">◀一般トップへ</a>
        <li><div class="list-title">
    <span class="no">4438</span>
    <a class="thread-title" href="4438.html#4438">正規表現で否定の書き方を教えて下さい。</a></div>
    <ul><li><div class="list-title">
    <span class="no">4439</span>
    <a class="thread-title" href="4438.html#4439">Re:正規表現で否定の書き方を教えて下さい。</a></div>
    <ul><li><div class="list-title">
    <span class="no">4440</span>
    <a class="thread-title" href="4438.html#4440">それがだめなんです</a></div>
    <ul><li><div class="list-title">
    <span class="no">4441</span>
    <a class="thread-title" href="4438.html#4441">Re:それがだめなんです</a></div>
    <ul><li><div class="list-title">
    <span class="no">4443</span>
    <a class="thread-title" href="4438.html#4443">できました！有難うございます。</a></div>
    <ul><li><div class="list-title">
    <span class="no">4444</span>
    <a class="thread-title" href="4438.html#4444">Re:できました！有難うございます。</a></div>
    <ul><li><div class="list-title">
    <span class="no">4445</span>
    <a class="thread-title" href="4438.html#4445">ご了承いただき、有難うございます。</a></div>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li>
    </ul><ul class="main"><li><section><h1 id=4438>
    <span class="no">[4438]</span>
    <a class="thread-title" href="#4438">正規表現で否定の書き方を教えて下さい。</a>
    <span class="author">渡辺真</span>
    <time datetime="2005-05-02T05:48:07">2005年05月02日 05:48</time></h1>
    <div class="body">以前この掲示板で、下記を教えていただきました。<br><br>(?!パターン)&#9;ゼロ幅の否定的な先読み表現<br><br>これを使って、<br><br>１．指定した文字で始まらない行<br>例えば、行頭が 変更 ではない行は、<br>^(?!変更).*$<br><br>２．指定した文字を含まない行<br>例えば、 変更 を含まない行は、<br>^((?!変更).)*$<br><br>で摘出できることを知りました。<br>そこで、<br><br>３．指定した文字で終わらない行<br>例えば、行末が 変更 ではない行<br><br><br>は、どう書けばよいか、お教え下さい。</div></section>
    <ul><li><section><h1 id=4439>
    <span class="no">[4439]</span>
    <a class="thread-title" href="#4439">Re:正規表現で否定の書き方を教えて下さい。</a>
    <span class="author">しみづ</span>
    <time datetime="2005-05-02T19:14:44">2005年05月02日 19:14</time></h1>
    <div class="body"><br>&gt;３．指定した文字で終わらない行<br>&gt;例えば、行末が 変更 ではない行<br>&gt;は、どう書けばよいか、お教え下さい。<br><br>　単純に考えれば<br>^.*(?!変更)$<br>という気がしますが、だめでしょうか。<br>　あるいは<br>^.*[^変][^更]$<br>でいいような。<br></div></section>
    <ul><li><section><h1 id=4440>
    <span class="no">[4440]</span>
    <a class="thread-title" href="#4440">それがだめなんです</a>
    <span class="author">渡辺真</span>
    <time datetime="2005-05-02T21:24:04">2005年05月02日 21:24</time></h1>
    <div class="body">▼ しみづさん<br>&gt; <br>&gt; 　単純に考えれば<br>&gt; ^.*(?!変更)$<br>&gt; という気がしますが、だめでしょうか。<br>&gt; 　あるいは<br>&gt; ^.*[^変][^更]$<br>&gt; でいいような。<br><br>回答有難うございます。<br><br>私もそれでやってみたのですが、ダメなのです。<br>.*<br>の部分が、強力な「何でも有り」なので、「変更」も当てしまって、否定にならないのです。<br></div></section>
    <ul><li><section><h1 id=4441>
    <span class="no">[4441]</span>
    <a class="thread-title" href="#4441">Re:それがだめなんです</a>
    <span class="author">(全略)</span>
    <time datetime="2005-05-03T00:02:18">2005年05月03日 00:02</time></h1>
    <div class="body">▼ 渡辺真さん<br>&gt; 私もそれでやってみたのですが、ダメなのです。<br>&gt; .*<br>&gt; の部分が、強力な「何でも有り」なので、「変更」も当てしまって、否定にならないのです。<br>先読み否定を使う場合<br>  ^.*(?!変更)..$<br>と後ろに同幅で有幅の表現を置いてやらないといけませんね<br><br>それでもダメなら、おそらく理由は改行コードのせいではないですかね?<br>CRLFの改行の場合<br>  ^.*(?!変更)..\r\n<br>としてやればうまくいくみたいです<br>同じくしみづさんの正規表現も<br>  ^.*[^変][^更]\r\n<br>とすればうまくいきましたよ<br># なんか内部の「$」の変換処理がうまく動いてないのかな?</div></section>
    <ul><li><section><h1 id=4443>
    <span class="no">[4443]</span>
    <a class="thread-title" href="#4443">できました！有難うございます。</a>
    <span class="author">渡辺真</span>
    <time datetime="2005-05-03T16:08:35">2005年05月03日 16:08</time></h1>
    <div class="body">しみづさん、(全略)さん、感謝します。<br><br>後日の参考のため、私のホームページにも、掲示させていただきました。<br><br>ご了承下さい。<br><br>m(__)m</div></section>
    <ul><li><section><h1 id=4444>
    <span class="no">[4444]</span>
    <a class="thread-title" href="#4444">Re:できました！有難うございます。</a>
    <span class="author">(全略)</span>
    <time datetime="2005-05-06T11:27:22">2005年05月06日 11:27</time></h1>
    <div class="body">▼ 渡辺真さん<br>&gt; しみづさん、(全略)さん、感謝します。<br>&gt; <br>&gt; 後日の参考のため、私のホームページにも、掲示させていただきました。<br>&gt; <br>&gt; ご了承下さい。<br>&gt; <br>&gt; m(__)m<br>あー、、、そのまま引用されてしまってるようですが、ツッコミを受ける前に一応言っておきますとその正規表現は不完全です<br>どちらも最低2文字のマッチを必要とするため「変更」で終わらない全ての行にマッチはしません<br>チョットややこしくなる上必要なさそうなので黙ってましたが、とりあえず^^;<br><br>もし引用されるようでしたら m/.*(?&lt;!変更)$/ が(普通のperl互換の)正規表現では一般的だとでも付け加えておいて下さい<br>あと「同幅で有幅」だとかは造語です^^; なんと表現したらよいのかわからず、、、<br>意味を汲み取ってくれたようで幸いですが<br></div></section>
    <ul><li><section><h1 id=4445>
    <span class="no">[4445]</span>
    <a class="thread-title" href="#4445">ご了承いただき、有難うございます。</a>
    <span class="author">渡辺真</span>
    <time datetime="2005-05-07T14:18:19">2005年05月07日 14:18</time></h1>
    <div class="body">記述を修正しておきました。<br><br>重ね重ね、感謝いたします。<br><br>m(__)m<br></div></section>
    </li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></li></ul></body></html>